package com.edu.controller;

import com.edu.utils.FileUtils;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class BaseController {
    Map<String,String> MIMES = new HashMap();
    {
        MIMES.put(".jpg","image/jpeg");
		MIMES.put(".jpeg","image/jpeg");
        MIMES.put(".gif","image/gif");
        MIMES.put(".png","image/png");
    }
    protected String getMIME(String extName){
        return MIMES.get( extName );
    }

    /*
    * {2}输出文件的内容到前端:
    * 1. 将一个图片文件输出到页面。
    * 2. 并展示出来。
    */
    protected void outFile(
            HttpServletResponse resp,
            String dir, String imageName
    ) throws IOException {
        //1.使用文件工具类读取文件
        byte[] data = FileUtils.getFile(dir, imageName);
        //2.设置响应体MIME类型(媒体格式)
        String extName = FileUtils.getExtName(imageName);
        String mime = MIMES.get(extName);
        resp.setContentType(mime);
        //3.输出到页面
        resp.getOutputStream().write(data);
    }


    protected R checkRepeat(Exception e, String errInfo,
        String msg){
        String E = e.getMessage();
        if( E.contains(errInfo) ){
            return R.error( msg );
        }
        return R.error( e );
    }

}
